import { defHttp } from "@/utils/http";
import { root } from "../apiRoot";
import type { ContactsConfigResult, MemberContactsData, MemberContactsResult, MemberContactsVoList } from "./types";
import type { IResData } from "../indexTypes";

const Api = {
  // 人脉地图(统计和坐标数据)
  memberContacts: root + 'member-contacts/getMemberDistrictsList',
  /** 人脉地图标点列表(详细信息) */
  memberContactsInfoList: root + 'member-contacts/memberContactsList',
  /** 人脉列表 */
  memberContactsList: root + 'member-contacts/page',
  /** 人脉配置 */
  contactsConfig: root + 'connectionConfig/getInfo',
}

/**
 * @description 人脉地图(统计和坐标数据)
 * @date 16/11/2022
 * @export
 * @param {MemberContactsData} data
 */
export function memberContacts(data: MemberContactsData) {
  return defHttp.post<MemberContactsResult>({
    url: Api.memberContacts,
    data,
  }, {
    disableLoading: true
  });
}

/**
 * @description 人脉地图列表
 * @date 08/03/2024
 * @export
 * @param {MemberContactsData} data
 */
export function memberContactsList(data: MemberContactsData) {
  return defHttp.post<MemberContactsResult>({
    url: Api.memberContactsList,
    data,
  });
}

/**
 * @description 获取人脉功能相关配置
 * @date 10/03/2023
 * @export
 */
export function requestContactsConfig() {
  return defHttp.get<ContactsConfigResult>({
    url: Api.contactsConfig
  })
}

/**
 * @description 人脉地图标点列表(详细信息)
 * @date 15/03/2024
 * @export
 * @param {MemberContactsData} data
 */
export function memberContactsInfoList(data: MemberContactsData) {
  return defHttp.post<IResData<MemberContactsVoList>>({
    url: Api.memberContactsInfoList,
    data
  })
}